home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Amiga Collections: Purity
/
Purity #22 (1994-01-19)(Diesel)(DE)[WB].zip
/
Purity #22 (1994-01-19)(Diesel)(DE)[WB].adf
/
PPPClone
/
PPPClone.p
< prev
next >
Wrap
Text File
|
1994-01-17
|
19KB
|
566 lines
PROGRAM PPPClone; { V0.02 }
FROM Rogertools Uses RREQUEST;
USES Intuition,Exec;
{$INCL 'pp.lib','dos.lib'}
TYPE ImageFeld=ARRAY[1..18]OF LONG;
Strtyp=STRING[100];
STR11=STRING[12];
CONST SELFLAGS:=GADGHIMAGE+GADGIMAGE+SELECTED;
NORFLAGS:=GADGHIMAGE+GADGIMAGE;
VAR win:p_window;STATIC;
Image1,Image2:Image;STATIC;
ImageMapPtr1,ImageMapPtr2:^ImageFeld;STATIC;
MessagePtr1: p_IntuiMessage;STATIC;
aktgad:p_gadget;STATIC;
gespeichert,geladen,fehler,akt,ende:BOOLEAN;STATIC;
Textinfo2,textinfo4,textinfo21,textinfo22,textinfo23,
TextInfo24,TextInfo25:STRINGINFO;STATIC;
Buffer2,Buffer4,Buffer21,Buffer22,Buffer23,Buffer24,
Buffer25:STRTYP;STATIC;
it5,it6,it7,it8,it9,it10,it11,it12,it13,it14,
it15,it16,it17,it18,it19,it20,it21,it22,it23,it24:INTUITEXT;STATIC;
Flaenge,Claenge,err,ok:LONG;STATIC;
gads:ARRAY[1..28] OF GADGET;STATIC;
farbe,effizienz,Puffer,lauf:INTEGER;STATIC;
fhandle:BPTR;
Filestart,Crinfo:PTR;
pfad1,pfad2,datei1,datei2:STRING;STATIC;
inname,outname:strtyp;STATIC;
PROCEDURE meldung(was:STRTYP);
BEGIN
setwindowtitles(win,str(-1),was);
END;
PROCEDURE umrandung(wo:p_window,c1,c2,x,y,b,h:INTEGER);
TYPE umrandungstyp=ARRAY[0..9] OF INTEGER;
VAR Feld1,feld2:umrandungstyp;
border1,border2:BORDER;
BEGIN
feld1:=umrandungstyp(1,1,1,h-2,0,h-1,0,0,b-2,0);
feld2:=umrandungstyp(b-2,h-2,b-2,1,b-1,0,b-1,h-1,1,h-1);
Border1:=Border(x,y,c1,0,0,5,^Feld1,^Border2);
Border2:=Border(x,y,c2,0,0,5,^Feld2,Nil);
drawborder(wo^.rport,^Border1,0,0);
END;
PROCEDURE gbord(wo:p_window,was:p_gadget);
BEGIN
umrandung(wo,2,1,was^.Leftedge,was^.Topedge,was^.Width,was^.height);
END;
PROCEDURE stringumrandung(wo:p_window,c1,c2,x,y,b,h:WORD);
BEGIN
umrandung(wo,c1,c2,x,y,b,h);
umrandung(wo,c2,c1,x-2,y-1,b+4,h+2);
END;
PROCEDURE zeichnetext(c1,c2:SHORT,wo:p_window,x,y:INTEGER,text:strtyp);
VAR it1,it2:INTUITEXT;STATIC;
BEGIN
it1:=INTUITEXT(c1,0,JAM2,1,1,NIL,text,^it2);
it2:=INTUITEXT(c2,0,0,0,0,NIL,text,NIL );
PRINTITEXT(wo^.rport,^it1,x,y);
END;
PROCEDURE effizienzeinstellen;
BEGIN
IF (gads[14].flags AND SELECTED)<>0 THEN effizienz:=CRUN_FAST;
IF (gads[15].flags AND SELECTED)<>0 THEN effizienz:=CRUN_MEDIOCRE;
IF (gads[16].flags AND SELECTED)<>0 THEN effizienz:=CRUN_GOOD;
IF (gads[17].flags AND SELECTED)<>0 THEN effizienz:=CRUN_VERYGOOD;
IF (gads[18].flags AND SELECTED)<>0 THEN effizienz:=CRUN_BEST;
END;
PROCEDURE puffereinstellen;
BEGIN
IF (gads[19].flags AND SELECTED)<>0 THEN puffer:=SPEEDUP_BUFFLARGE;
IF (gads[20].flags AND SELECTED)<>0 THEN puffer:=SPEEDUP_BUFFMEDIUM;
IF (gads[21].flags AND SELECTED)<>0 THEN puffer:=SPEEDUP_BUFFSMALL;
END;
PROCEDURE FarbeEinstellen;
BEGIN
IF (gads[8].flags AND SELECTED)<>0 THEN farbe:=DECR_COL0;
IF (gads[9].flags AND SELECTED)<>0 THEN farbe:=DECR_COL1;
IF (gads[10].flags AND SELECTED)<>0 THEN farbe:=DECR_POINTER;
IF (gads[11].flags AND SELECTED)<>0 THEN farbe:=DECR_SCROLL;
IF (gads[12].flags AND SELECTED)<>0 THEN farbe:=DECR_NONE;
END;
PROCEDURE speicherdecrunchedfile;
VAR hilf:strtyp;
BEGIN
Fhandle:=DosOpen(buffer4,MODE_NEWFILE);
IF Fhandle<>0 THEN
BEGIN
err:=DosWrite(FHandle,FileStart,FLaenge);
ok:=DosClose(FHandle);
END;
Buffer24:=INTSTR(flaenge)+' Bytes';
refreshgadgets(^gads[24],win,NIL);
FreeMem(Filestart,Flaenge);
hilf:=' Datei gespeichert als '+buffer4;
meldung(hilf);
END;
Procedure decrunch;
VAR hilf:strtyp;
altpos,lang:LONG;
BEGIN
{*** filelänge bestimmen ***}
Fhandle:=DosOpen(buffer2,MODE_OLDFILE);
IF Fhandle<>0 THEN
BEGIN
altpos:=_Seek(fhandle,0,OFFSET_END);
lang:=_Seek(fhandle,altpos,OFFSET_BEGINNING);
{** Filelänge ausgeben **}
Buffer23:=INTSTR(lang)+' Bytes';
refreshgadgets(^gads[23],win,NIL);
ok:=Dosclose(Fhandle);
FarbeEinstellen;
err:=ppLoadData(buffer2,farbe,0,^Filestart,^Flaenge,NIL);
IF err=0 THEN speicherdecrunchedfile
ELSE
BEGIN
CASE err OF
-1: hilf:=' Fehler beim öffnen !';
-2: hilf:=' Fehler beim lesen !';
-3: hilf:=' Kein Speicher um File zu lesen !';
-4: hilf:=' File ist verschlüsselt !';
-5: hilf:=' Falsches Passwort !';
-6: hilf:=' Unbekannte Powerpackerversion !';
-7: hilf:=' File ist Leer !';
END;
hilf:=' Konnte nicht decrunchen !!!'+hilf;
meldung(hilf);
END;
END
ELSE meldung(' Fehler beim Öffnen des Files !');
END;
PROCEDURE speichern;
VAR hilf:strtyp;
BEGIN
Fhandle:=DosOpen(buffer4,MODE_NEWFILE);
IF Fhandle<>0 THEN
IF ppWriteDataHeader(Fhandle,effizienz,0,0) THEN
BEGIN
err:=DosWrite(FHandle,FileStart,CLaenge);
ok:=DosClose(FHandle);
IF err=CLaenge THEN
BEGIN
Free_Mem(LONG(Filestart),Flaenge+64);
Filestart:=NIL;
hilf:=' Datei gespeichert als '+buffer4;
meldung(hilf);
END
ELSE meldung(' FEHLER: Schreibfehler !!!');
END
ELSE meldung(' FEHLER: Schreibfehler !!!')
ELSE
BEGIN
Free_Mem(LONG(Filestart),Flaenge+64);
meldung(' FEHLER: Kann Zieldatei nicht öffnen !!!');
END;
END;
PROCEDURE crunch(fname:STRTYP);
BEGIN
puffereinstellen;
effizienzeinstellen;
Fhandle:=DosOpen(fname,MODE_OLDFILE);
IF Fhandle<>0 THEN
BEGIN
meldung(' Datei wird geladen');
Flaenge:=DosSeek(Fhandle,0,OFFSET_END);
Flaenge:=DosSeek(Fhandle,0,OFFSET_BEGINNING);
Buffer23:=INTSTR(Flaenge)+' Bytes';
refreshgadgets(^gads[23],win,NIL);
FileStart:=PTR(Alloc_Mem(Flaenge+64,0));
err:=DosRead(FHandle,FileStart,Flaenge);
ok:=DosClose(Fhandle);
IF err<>Flaenge THEN meldung(' FEHLER beim Lesen der Quelldatei !!!')
ELSE
BEGIN
CrInfo:=ppAllocCrunchInfo(effizienz,Puffer,NIL,NIL);
IF Crinfo=NIL THEN
meldung(' FEHLER: Nicht genug Speicher !!!')
ELSE
BEGIN
meldung(' Datei wird gecrunched !');
claenge:=ppCrunchBuffer(CrInfo,FileStart,Flaenge);
ppFreeCrunchinfo(CrInfo);
IF claenge=PP_BUFFEROVERFLOW THEN
BEGIN
meldung(' FEHLER: Puffer übergelaufen !!!');
Fehler:=TRUE;
END
ELSE
BEGIN
Fehler:=FALSE;
Buffer24:=INTSTR(claenge+8)+' Bytes';
refreshgadgets(^gads[24],win,NIL);
meldung(' Fertig gecrunched !');
speichern;
END;
END;
END;
END ELSE meldung(' FEHLER: Kann Quelldatei nicht öffnen !!!');
END;
PROCEDURE p26;
BEGIN
inname:=buffer2;
IF (gads[5].flags AND SELECTED)<>0 THEN crunch(inname);
IF (gads[6].flags AND SELECTED)<>0 THEN decrunch;
{ IF (gads[7].flags AND SELECTED)<>0 THEN recrunch;}
END;
PROCEDURE p1;
BEGIN
IF (foundarp OR foundasl) THEN rrequest('Infile wählen',datei1,pfad1);
buffer2:=pfad1+datei1;
refreshgadgets(^gads[2],win,NIL);
END;
PROCEDURE p3;
BEGIN
IF (foundarp OR foundasl) THEN rrequest('Outfile wählen',datei2,pfad2);
buffer4:=pfad2+datei2;
refreshgadgets(^gads[4],win,NIL);
END;
BEGIN
Openlib(PPbase,PPNAME,PPVERSION);
Win:=Open_Window(50,50,392,173,1,_CLOSEWINDOW+GADGETUP+GADGETDOWN,
WINDOWDRAG+WINDOWDEPTH+WINDOWCLOSE+ACTIVATE,
'PPPCLONE V0.02 © 4.12.1993 by Røgersøft',NIL,50,50,640,256);
zeichnetext(0,1,win,26,15,'Quelle:');
gads[1]:=Gadget(NIL,20,12,67,14,GADGHCOMP,RELVERIFY,
$0001,NIL,NIL,NIL,0,NIL,1,NIL);
gbord(win,^gads[1]);
gads[2]:=Gadget(NIL,93,15,278,8,GADGHCOMP,RELVERIFY,
STRGADGET,NIL,NIL,NIL,0,^Textinfo2,2,NIL);
stringumrandung(win,1,2,90,13,280,12);
Textinfo2:=Stringinfo(^Buffer2,NIL,0,100,0,0,0,0,0,0,NIL,0,NIL);
Buffer2:='';
zeichnetext(0,1,win,26,29,' Ziel:');
gads[3]:=Gadget(NIL,20,26,67,14,GADGHCOMP,RELVERIFY,
$0001,NIL,NIL,NIL,0,NIL,3,NIL);
gbord(win,^gads[3]);
gads[4]:=Gadget(NIL,93,29,278,8,GADGHCOMP,RELVERIFY,
STRGADGET,NIL,NIL,NIL,0,^Textinfo4,4,NIL);
stringumrandung(win,1,2,90,27,280,12);
Textinfo4:=Stringinfo(^Buffer4,NIL,0,100,0,0,0,0,0,0,NIL,0,NIL);
Buffer4:='';
stringumrandung(win,2,1,13,48,102,40);
zeichnetext(1,2,win,20,43,' Option: ');
gads[5]:=GADGET(NIL,20,55,17,9,SELFLAGS,RELVERIFY+TOGGLESELECT,
BOOLGADGET,^Image1,^Image2,^it5,0,NIL,5,NIL);
it5:=INTUITEXT(1,0,0,25,1,NIL,'Crunch',NIL);
gads[6]:=GADGET(NIL,20,65,17,9,NORFLAGS,RELVERIFY+TOGGLESELECT,
BOOLGADGET,^Image1,^Image2,^it6,0,NIL,6,NIL);
it6:=INTUITEXT(1,0,0,25,1,NIL,'Decrunch',NIL);
gads[7]:=GADGET(NIL,20,75,17,9,NORFLAGS,RELVERIFY+TOGGLESELECT,
BOOLGADGET,^Image1,^Image2,^it7,0,NIL,7,NIL);
it7:=INTUITEXT(1,0,0,25,1,NIL,'Recrunch',NIL);
stringumrandung(win,2,1,124,48,124,60);
zeichnetext(1,2,win,130,43,' Farbe: ');
gads[8]:=GADGET(NIL,130,55,17,9,SELFLAGS,RELVERIFY+TOGGLESELECT,
BOOLGADGET,^Image1,^Image2,^it8,0,NIL,8,NIL);
it8:=INTUITEXT(1,0,0,25,1,NIL,'Farbe 0',NIL);
gads[9]:=GADGET(NIL,130,65,17,9,NORFLAGS,RELVERIFY+TOGGLESELECT,
BOOLGADGET,^Image1,^Image2,^it9,0,NIL,9,NIL);
it9:=INTUITEXT(1,0,0,25,1,NIL,'Farbe 1',NIL);
gads[10]:=GADGET(NIL,130,75,17,9,NORFLAGS,RELVERIFY+TOGGLESELECT,
BOOLGADGET,^Image1,^Image2,^it10,0,NIL,10,NIL);
it10:=INTUITEXT(1,0,0,25,1,NIL,'Pointer',NIL);
gads[11]:=GADGET(NIL,130,85,17,9,NORFLAGS,RELVERIFY+TOGGLESELECT,
BOOLGADGET,^Image1,^Image2,^it11,0,NIL,11,NIL);
it11:=INTUITEXT(1,0,0,25,1,NIL,'Scrollen',NIL);
gads[12]:=GADGET(NIL,130,95,17,9,NORFLAGS,RELVERIFY+TOGGLESELECT,
BOOLGADGET,^Image1,^Image2,^it12,0,NIL,12,NIL);
it12:=INTUITEXT(1,0,0,25,1,NIL,'Ohne',NIL);
gads[13]:=GADGET(NIL,130,105,{17}0,{9}0,NORFLAGS,RELVERIFY+TOGGLESELECT,
BOOLGADGET,NIL{^Image1},NIL{^Image2},NIL{^it13},0,NIL,13,NIL);
{ it13:=INTUITEXT(1,0,0,25,1,NIL,'Ohne',NIL);}
stringumrandung(win,2,1,257,48,124,60);
zeichnetext(1,2,win,262,43,' Effizienz: ');
gads[14]:=GADGET(NIL,262,55,17,9,NORFLAGS,RELVERIFY+TOGGLESELECT,
BOOLGADGET,^Image1,^Image2,^it14,0,NIL,14,NIL);
it14:=INTUITEXT(1,0,0,25,1,NIL,'Schnell',NIL);
gads[15]:=GADGET(NIL,262,65,17,9,SELFLAGS,RELVERIFY+TOGGLESELECT,
BOOLGADGET,^Image1,^Image2,^it15,0,NIL,15,NIL);
it15:=INTUITEXT(1,0,0,25,1,NIL,'Mittel',NIL);
gads[16]:=GADGET(NIL,262,75,17,9,NORFLAGS,RELVERIFY+TOGGLESELECT,
BOOLGADGET,^Image1,^Image2,^it16,0,NIL,16,NIL);
it16:=INTUITEXT(1,0,0,25,1,NIL,'Gut',NIL);
gads[17]:=GADGET(NIL,262,85,17,9,NORFLAGS,RELVERIFY+TOGGLESELECT,
BOOLGADGET,^Image1,^Image2,^it17,0,NIL,17,NIL);
it17:=INTUITEXT(1,0,0,25,1,NIL,'Sehr Gut',NIL);
gads[18]:=GADGET(NIL,262,95,17,9,NORFLAGS,RELVERIFY+TOGGLESELECT,
BOOLGADGET,^Image1,^Image2,^it18,0,NIL,18,NIL);
it18:=INTUITEXT(1,0,0,25,1,NIL,'Am Besten',NIL);
stringumrandung(win,2,1,13,98,102,40);
zeichnetext(1,2,win,20,93,' Puffer: ');
gads[19]:=GADGET(NIL,20,105,17,9,SELFLAGS,RELVERIFY+TOGGLESELECT,
BOOLGADGET,^Image1,^Image2,^it19,0,NIL,19,NIL);
it19:=INTUITEXT(1,0,0,25,1,NIL,'Groß',NIL);
gads[20]:=GADGET(NIL,20,115,17,9,NORFLAGS,RELVERIFY+TOGGLESELECT,
BOOLGADGET,^Image1,^Image2,^it20,0,NIL,20,NIL);
it20:=INTUITEXT(1,0,0,25,1,NIL,'Mittel',NIL);
gads[21]:=GADGET(NIL,20,125,17,9,NORFLAGS,RELVERIFY+TOGGLESELECT,
BOOLGADGET,^Image1,^Image2,^it21,0,NIL,21,NIL);
it21:=INTUITEXT(1,0,0,25,1,NIL,'Klein',NIL);
stringumrandung(win,2,1,124,117,124,21);
zeichnetext(1,2,win,130,113,' Speicher: ');
gads[22]:=Gadget(NIL,140,125,90,8,GADGHCOMP,STRINGCENTER+RELVERIFY,
STRGADGET,NIL,NIL,NIL,0,^Textinfo22,22,NIL);
Textinfo22:=Stringinfo(^Buffer22,NIL,0,11,0,0,0,0,0,0,NIL,0,NIL);
Buffer22:='0 KB';
stringumrandung(win,2,1,13,146,235,21);
zeichnetext(1,2,win,20,142,' Original: ');
zeichnetext(1,2,win,135,142,' Neue Größe: ');
gads[23]:=Gadget(NIL,30,155,70,8,GADGHCOMP,STRINGCENTER+RELVERIFY,
STRGADGET,NIL,NIL,NIL,0,^Textinfo23,23,NIL);
Textinfo23:=Stringinfo(^Buffer23,NIL,0,11,0,0,0,0,0,0,NIL,0,NIL);
Buffer23:='0 KB';
gads[24]:=Gadget(NIL,140,155,90,8,GADGHCOMP,STRINGCENTER+RELVERIFY,
STRGADGET,NIL,NIL,NIL,0,^Textinfo24,24,NIL);
Textinfo24:=Stringinfo(^Buffer24,NIL,0,11,0,0,0,0,0,0,NIL,0,NIL);
Buffer24:='0 KB';
stringumrandung(win,2,1,257,117,124,21);
zeichnetext(1,2,win,263,113,' Gespart: ');
gads[25]:=Gadget(NIL,275,125,90,8,GADGHCOMP,STRINGCENTER+RELVERIFY,
STRGADGET,NIL,NIL,NIL,0,^Textinfo25,25,NIL);
Textinfo25:=Stringinfo(^Buffer25,NIL,0,11,0,0,0,0,0,0,NIL,0,NIL);
Buffer25:='0 %';
zeichnetext(0,1,win,288,153,'Starten');
gads[26]:=Gadget(NIL,256,145,127,23,GADGHCOMP,RELVERIFY,
BOOLGADGET,NIL,NIL,NIL,0,NIL,26,NIL);
gbord(win,^gads[26]);
ImageMapPtr1:=PTR(ALLOC_MEM(SizeOf(ImageFeld),2));
ImageMapPtr1^:=ImageFeld(%00000000000000100000000000000000,
%00000000000000110000000000000000,
%00000000000000011000000000000000,
%00000000000000011000000000000000,
%00000000000000011000000000000000,
%00000000000000011000000000000000,
%00000000000000011000000000000000,
%00000000000000110000000000000000,
%00011111111111100000000000000000,
{ 2. Bitplane } %00111111111111000000000000000000,
%01100000000000000000000000000000,
%11000000000000000000000000000000,
%11000000000000000000000000000000,
%11000000000000000000000000000000,
%11000000000000000000000000000000,
%11000000000000000000000000000000,
%01100000000000000000000000000000,
%00100000000000000000000000000000);
ImageMapPtr2:=PTR(ALLOC_MEM(SizeOf(ImageFeld),2));
ImageMapPtr2^:=ImageFeld(%00111111111111000000000000000000,
%01100000000000000000000000000000,
%11000111111100000000000000000000,
%11001111111110000000000000000000,
%11001111111110000000000000000000,
%11001111111110000000000000000000,
%11000111111100000000000000000000,
%01100000000000000000000000000000,
%00100000000000000000000000000000,
{ 2. Bitplane } %00000000000000100000000000000000,
%00000000000000110000000000000000,
%00000111111100011000000000000000,
%00001111111110011000000000000000,
%00001111111110011000000000000000,
%00001111111110011000000000000000,
%00000111111100011000000000000000,
%00000000000000110000000000000000,
%00011111111111100000000000000000);
image1:=IMAGE(0,0,17,9,2,ImageMapPtr1,3,0,NIL);
image2:=IMAGE(0,0,17,9,2,ImageMapPtr2,3,0,NIL);
pfad1:=':';
pfad2:=':';
datei1:='';
datei2:='';
ende:=FALSE;
FOR lauf:=1 TO 26 DO ok:=ADDGADGET(Win,^gads[lauf],0);
REFRESHGADGETS(Win^.firstgadget,Win,NIL);
akt:=activategadget(^gads[2],win,NIL);
REPEAT
MessagePtr1:=p_Intuimessage(Waitport(Win^.Userport));
MessagePtr1:=p_Intuimessage(GetMsg(Win^.Userport));
CASE MessagePtr1^.class OF
_CLOSEWINDOW: ende:=TRUE;
GADGETUP,GADGETDOWN:
BEGIN
aktgad:=messageptr1^.iaddress;
CASE aktgad^.gadgetID OF
1:p1;
2:;
3:p3;
4:;
5: BEGIN
gads[5].Flags:=SELFLAGS;
gads[6].Flags:=NORFLAGS;
gads[7].Flags:=NORFLAGS;
REFRESHGADGETS(Win^.firstgadget,Win,NIL);
END;
6: BEGIN
gads[5].Flags:=NORFLAGS;
gads[6].Flags:=SELFLAGS;
gads[7].Flags:=NORFLAGS;
REFRESHGADGETS(Win^.firstgadget,Win,NIL);
END;
7: BEGIN
gads[5].Flags:=NORFLAGS;
gads[6].Flags:=NORFLAGS;
gads[7].Flags:=SELFLAGS;
REFRESHGADGETS(Win^.firstgadget,Win,NIL);
END;
8: BEGIN
gads[8].Flags:=SELFLAGS;
gads[9].Flags:=NORFLAGS;
gads[10].Flags:=NORFLAGS;
gads[11].Flags:=NORFLAGS;
gads[12].Flags:=NORFLAGS;
REFRESHGADGETS(Win^.firstgadget,Win,NIL);
END;
9: BEGIN
gads[8].Flags:=NORFLAGS;
gads[9].Flags:=SELFLAGS;
gads[10].Flags:=NORFLAGS;
gads[11].Flags:=NORFLAGS;
gads[12].Flags:=NORFLAGS;
REFRESHGADGETS(Win^.firstgadget,Win,NIL);
END;
10: BEGIN
gads[8].Flags:=NORFLAGS;
gads[9].Flags:=NORFLAGS;
gads[10].Flags:=SELFLAGS;
gads[11].Flags:=NORFLAGS;
gads[12].Flags:=NORFLAGS;
REFRESHGADGETS(Win^.firstgadget,Win,NIL);
END;
11: BEGIN
gads[8].Flags:=NORFLAGS;
gads[9].Flags:=NORFLAGS;
gads[10].Flags:=NORFLAGS;
gads[11].Flags:=SELFLAGS;
gads[12].Flags:=NORFLAGS;
REFRESHGADGETS(Win^.firstgadget,Win,NIL);
END;
12: BEGIN
gads[8].Flags:=NORFLAGS;
gads[9].Flags:=NORFLAGS;
gads[10].Flags:=NORFLAGS;
gads[11].Flags:=NORFLAGS;
gads[12].Flags:=SELFLAGS;
REFRESHGADGETS(Win^.firstgadget,Win,NIL);
END;
13: BEGIN
END;
14: BEGIN
gads[14].Flags:=SELFLAGS;
gads[15].Flags:=NORFLAGS;
gads[16].Flags:=NORFLAGS;
gads[17].Flags:=NORFLAGS;
gads[18].Flags:=NORFLAGS;
REFRESHGADGETS(Win^.firstgadget,Win,NIL);
END;
15: BEGIN
gads[14].Flags:=NORFLAGS;
gads[15].Flags:=SELFLAGS;
gads[16].Flags:=NORFLAGS;
gads[17].Flags:=NORFLAGS;
gads[18].Flags:=NORFLAGS;
REFRESHGADGETS(Win^.firstgadget,Win,NIL);
END;
16: BEGIN
gads[14].Flags:=NORFLAGS;
gads[15].Flags:=NORFLAGS;
gads[16].Flags:=SELFLAGS;
gads[17].Flags:=NORFLAGS;
gads[18].Flags:=NORFLAGS;
REFRESHGADGETS(Win^.firstgadget,Win,NIL);
END;
17: BEGIN
gads[14].Flags:=NORFLAGS;
gads[15].Flags:=NORFLAGS;
gads[16].Flags:=NORFLAGS;
gads[17].Flags:=SELFLAGS;
gads[18].Flags:=NORFLAGS;
REFRESHGADGETS(Win^.firstgadget,Win,NIL);
END;
18: BEGIN
gads[14].Flags:=NORFLAGS;
gads[15].Flags:=NORFLAGS;
gads[16].Flags:=NORFLAGS;
gads[17].Flags:=NORFLAGS;
gads[18].Flags:=SELFLAGS;
REFRESHGADGETS(Win^.firstgadget,Win,NIL);
END;
19: BEGIN
gads[19].Flags:=SELFLAGS;
gads[20].Flags:=NORFLAGS;
gads[21].Flags:=NORFLAGS;
REFRESHGADGETS(Win^.firstgadget,Win,NIL);
END;
20: BEGIN
gads[19].Flags:=NORFLAGS;
gads[20].Flags:=SELFLAGS;
gads[21].Flags:=NORFLAGS;
REFRESHGADGETS(Win^.firstgadget,Win,NIL);
END;
21: BEGIN
gads[19].Flags:=NORFLAGS;
gads[20].Flags:=NORFLAGS;
gads[21].Flags:=SELFLAGS;
REFRESHGADGETS(Win^.firstgadget,Win,NIL);
END;
22,23,24,25:;
26:p26;
END;
END;
OTHERWISE;
END; {OF CASE}
ReplyMsg(p_Message(MessagePtr1));
UNTIL ende;
Closewindow(Win);
Free_Mem(LONG(ImageMapPtr1),SizeOf(ImageFeld));
Free_Mem(LONG(ImageMapPtr2),SizeOf(ImageFeld));
END.